// api/vocab.js
// 单词学习相关的API调用
import { get, post, put } from './request';

/**
 * 获取词库列表
 * @returns {Promise} - 返回单词列表数据
 */
export function getLibraryList(userId){
  return get(`/api/vocabulary-libraries/${userId}`);
}

// /**
//  * 获取单词列表
//  * @param {Object} params - 查询参数
//  * @param {number} params.page - 页码
//  * @param {number} params.pageSize - 每页数量
//  * @param {string} params.category - 分类
//  * @returns {Promise}
//  */
// export function getVocabList(params = { page: 1, pageSize: 20 }) {
//   return get('/api/vocabs', params);
// }

/**
 * 获取单词详情
 * @param {string} id - 单词ID
 * @returns {Promise}
 */
export function getVocabDetail(id) {
  return get(`/api/vocabs/${id}`);
}

// /**
//  * 获取待复习的单词
//  * @param {number} count - 获取数量
//  * @returns {Promise}
//  */
// export function getReviewVocabs(count = 20) {
//   return get('/api/vocabs/review', { count });
// }

/**
 * 记录单词学习结果
 * @param {Object} data - 学习记录
 * @param {string} data.wordId - 单词ID
 * @param {string} data.result - 学习结果 (remember/forget)
 * @param {number} data.duration - 学习时长(毫秒)
 * @returns {Promise}
 */
export function submitVocabRecord(data) {
  return post('/api/vocabs/record', data);
}

/**
 * 获取学习统计
 * @param {Object} params - 查询参数
 * @param {string} params.startDate - 开始日期
 * @param {string} params.endDate - 结束日期
 * @returns {Promise}
 */
export function getLearningStats(params) {
  return get('/api/vocabs/stats', params);
}

/**
 * 添加单词到收藏
 * @param {string} wordId - 单词ID
 * @returns {Promise}
 */
export function addToFavorite(wordId) {
  return post(`/api/vocabs/${wordId}/favorite`);
}

/**
 * 从收藏中移除单词
 * @param {string} wordId - 单词ID
 * @returns {Promise}
 */
export function removeFromFavorite(wordId) {
  return post(`/api/vocabs/${wordId}/unfavorite`);
}

/**
 * 获取收藏的单词列表
 * @param {Object} params - 查询参数
 * @returns {Promise}
 */
export function getFavoriteVocabs(params = { page: 1, pageSize: 20 }) {
  return get('/api/vocabs/favorites', params);
}

/**
 * 获取学习的单词列表
 * @param {number} limit - 数量
 * @returns {Promise}
 */
export function getLearnVocabs(limit,libraryId) {
  return get(`/api/user-vocabulary/learn/${libraryId}`, {limit});
}

/**
 * 记录学习结果
 * @param {[Object]} params - 完成详情
 * @returns {Promise}
 */
export function recordLearnVocabs(userId,libraryId,params) {
  return post(`/api/user-vocabulary/learn/${userId}/${libraryId}`, params);
}

/**
 * 获取复习的单词列表
 * @param {number} limit - 数量
 * @returns {Promise}
 */
export function getReviewVocabs(limit,userId) {
  return get(`/api/user-vocabulary/review/${userId}`, {limit});
}

/**
 * 记录复习结果
 * @param {[Object]} params - 完成详情
 * @returns {Promise}
 */
export function recordReviewVocabs(userId,params) {
  return post(`/api/user-vocabulary/review/${userId}`, params);
}